<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>PackageKit - Reporting Bugs</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<link rel="stylesheet" href="style.css" type="text/css" media="screen"/>
</head>
<body>

<table align="center" class="title">
<tr>
 <td><img src="img/packagekit.png" alt=""/></td>
 <td width="95%" valign="middle"><p class="title">Reporting Bugs</p></td>
 <td><img src="img/packagekit.png" alt=""/></td>
</tr>
</table>

<p>Back to the <a href="index.html">main page</a></p>

<h1>Reporting Bugs</h1>

<p>
First, please look at the <a href="https://github.com/PackageKit/PackageKit/issues">list of PackageKit bugs</a>,
so that you are sure the bug you are reporting isn't a duplicate bug that
someone else has fixed or reported.
If not present, then please create a new bug attaching all the information
to this <a href="https://github.com/PackageKit/PackageKit/issues/new">new bug</a>.
</p>

<h2>General Bugs</h2>

<p>
When PackageKit doesn't work, there is lots that could be wrong.
To help us diagnose the problem, please supply the following information:
</p>

<ul>
<li>The version of packagekit installed</li>
<li>The installation method you used (i.e. f19 RPM, tarball)</li>
<li>Your distribution and version</li>
<li>The verbose trace from packagekitd</li>
<li>Any other information that may be relevant</li>
</ul>

<h2>packagekitd Verbose Trace</h2>

<p>
This will turn on verbose debugging for the PackageKit daemon that will be
useful when debugging problems.
</p>

<pre>
sudo killall packagekitd
sudo /usr/libexec/packagekitd --verbose
</pre>

<h2>Segfaults or random crashes</h2>
<p>
We would really appreciate it if you could send us more information about the
crash, specifically a backtrace with gdb.
Make sure you have the packagekit-debuginfo or packagekit-gdb package installed,
else the reports from gdb won't mean much to any of us.
</p>

<pre>
gdb /usr/libexec/packagekitd
</pre>
<p>
The GNU debugger (gdb) will start and put you at a prompt:
</p>
<pre>
(gdb) _
</pre>

<p>
Then type the following.
</p>

<pre>
(gdb) run --verbose
</pre>

<p>
In another command window, you may have to exeute the action that is crashing
the daemon, for instance:
</p>
<pre>
pkcon get updates
</pre>
<p>
You should be back in the gdb shell if the daemon has crashed.
Then type bt at the prompt and send us all the output that follows.
This will tell us exactly what the program was doing when it crashed.
</p>
<p>
This <a href="http://www.delorie.com/gnu/docs/gdb/gdb_toc.html">link</a> will
give you more information.
</p>

<h2>Enabling verbose logging by default</h2>
<p>
If you want verbose logging to be enabled by default, you can override the
systemd service like this:
</p>
<pre>
sudo systemctl stop packagekit.service
sudo cp /usr/lib/systemd/system/packagekit.service /etc/systemd/system
sudo vim /etc/systemd/system/packagekit.service  # add --verbose
sudo systemctl daemon-reload
sudo systemctl restart packagekit.service
</pre>
<p>
<b>PLEASE NOTE:</b> Due to a bug you'll need to be using PackageKit >= 1.0.6
for this to work correctly.
</p>

<p>Back to the <a href="index.html">main page</a></p>

<p class="footer">
 Copyright <a href="mailto:richard@hughsie.com">Richard Hughes 2007-2013</a><br/>
 <a href="http://validator.w3.org/check/referer">Optimized</a>
 for <a href="http://www.w3.org/">standards</a>.
</p>

</body>
</html>
